1. Field of the Invention
The present invention generally relates to digital data processing systems, and more particularly, to such systems that provide backup memory storage for database transactions.
2. Description of the Prior Art
A key feature of high reliability computer systems is recovery of the state of a database after a failure is detected within the computer system. Database failures may have any number of causes including hardware or software faults.
Data processing systems may be used to process sensitive transactions. One such transaction may be a withdrawal from a bank account. The transaction may be initiated by the user, for example, signing on to a work station or an ATM machine. The transaction must often be processed in real time by one or more data processing systems. To enhance the reliability of such systems, a transaction audit trail is often created to provide a backup of the transaction in the event the data processing system experiences a fault or failure. Often times transaction processing environments include an audit trail storage capability, or "physical audit trail" to record information such as database changes and message processing activity in real time. Many kinds of data may be stored in an audit trail, including information that reflects changes made to the database, or the status of the transaction processing environment. Each transaction may provide one or more sets of audit trail data to the physical audit trail. Often, the physical audit trail is a magnetic tape or disc drive storage device. As transaction processing programs continue to process transactions, audit trail data from each of the transactions may be accumulated in the physical audit trail.
Writing audit trail data for each transaction directly to the physical audit trail may not be efficient due to the time required to write each transaction and because of an inefficient use of the storage media. Each transfer to the physical audit trail requires the steps of both accessing and writing to the physical audit trail. The time required to access and write the audit trail data to the physical audit trail is often longer than the time required to process a transaction. Thus, in these types of systems, the processor may wait for a transaction to be written to the physical audit trail before processing the next transaction. Since the rate at which audit data is transferred to the physical audit trail is proportional to the number of transactions being processed, this approach may not be desirable in applications requiring high-volume transaction processing. In addition, if the physical audit trail is a magnetic tape or disc drive storage device, the data storage format may result in excessive portions of unused recording media between each stored transaction.
In an attempt to overcome these problems, the transfer to the physical audit trail may be delayed. The audit data is accumulated in a temporary storage location so that audit data from many transactions can be grouped into a single audit block. The single audit block is written to the physical audit trail in one transfer rather than the many transfers that would otherwise have been required for each individual transaction record.
This approach, while an improvement in many respects, still is not optimal. Many times transactions reach a "commit" state in which the transaction cannot be further processed without the backup audit trail data being secured. Thus, if the transaction is updating files within a data base, it is often necessary to wait for the audit trail data to be stored before continuing processing the same or another transaction. With this approach, transactions reaching the commit state often must wait for the audit trail data to be accumulated before the transfer to the physical audit trail is completed, thus reducing the rate that the transactions can be processed.
Accumulating audit data has still another limitation. As the audit trail data accumulates, prior to transfer to the physical audit trail, the probability that a hardware or software failure may occur within the data processing system increases. The hardware or software failure may cause a loss of audit trail data not yet transferred to the physical audit trail, thus increasing the risk of non-recovery from the data processing system failure.